import React, { Component } from 'react'

export default class Demo extends Component {
    state = { count: 0 }

    increment = () => {

        // setState函数能传一个回调函数，状态更改后回调立马被调用

        // const { count } = this.state
        // setState的第一种写法:对象式的setState   setState方法是个同步方法   react状态的更新是异步的
        // this.setState({ count: count + 1 }, () => {
        // console.log(this.state.count)
        // })

        // 第二种写法：函数式的setState  
        // 函数可以接收两个值 state   以及组件的props
        // 返回值是要修改的state对象
        this.setState((state, props) => {
            return { count: state.count + 1 }
        })

        // 使用原则：
        // 1。新状态不依赖于原来的状态使用对象式
        // 2。
    }
    render() {
        return (
            <div>
                <h2>求和：{this.state.count}</h2>
                <button onClick={this.increment}>加1</button>
            </div>
        )
    }
}
